package br.nextfm.controller;

import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import br.nextfm.dao.ComentarioDao;
import br.nextfm.dao.MusicaDao;
import br.nextfm.dao.UsuarioDao;
import br.nextfm.model.Comentario;
import br.nextfm.model.Musica;
import br.nextfm.model.Usuario;

/**
 * Servlet implementation class CadastraComentario
 */
public class CadastraComentario extends HttpServlet {
	private static final long serialVersionUID = 1L;

	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		
		HttpSession session = request.getSession(false);
		
		String mensagem = request.getParameter("mensagem");
		String titulo = request.getParameter("titulo");
		
		int id = Integer.parseInt(request.getParameter("musica"));
		
		MusicaDao musicaDao = new MusicaDao();
		UsuarioDao usuarioDao = new UsuarioDao();
		ComentarioDao dao = new ComentarioDao();
		
		Musica musica = musicaDao.get(id);
		Comentario comentario = new Comentario(titulo, mensagem);
		Usuario usuario = (Usuario) session.getAttribute("usuario");
		
		comentario.setMusica(musica);
		comentario.setUsuario(usuario);
		musica.getComentarios().add(comentario);
		usuario.getComentarios().add(comentario);
		
		if (dao.insert(comentario)) {
			
			musicaDao.update(musica);
			usuarioDao.update(usuario);
			
		}
		
		request.setAttribute("musica", musica);
		request.getRequestDispatcher("escutaMusicas.jsp").forward(request, response);
		
	}

}
